<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 注意：函数起名的时候不要使用相同的名字
        // js不支持重载，如果定义了两个相同函数名的函数，最后一个会覆盖前边的函数，只会执行最后一个函数
        function fn1(){
            console.log("我是第一个函数");
        }
        function fn1(){
            console.log("我是第二个函数");
        }
        // fn1()
        // 什么是重载？
        // 当函数名相同的时候，不同参数列表的函数在调用的时候，会根据传入参数个数的不同选择调用响应的函数，这样做可以减少函数的数量
        // 如果想实现函数的重载效果，可以通过arguments的长度来判断
        // arguments是js函数自带的一个对象，可以用来实现重载的功能  是一个类数组对象，不是真正的数组
        // 获取长度 .length
        function fn2(){
            // console.log(arguments);
            // console.log([1,2,"aaa"]);
            if(arguments.length === 0){
                console.log("0个参数");
            }else if(arguments.length === 1){
                console.log("1个参数");
            }else if(arguments.length === 2){
                console.log("2个参数");
            }else{
                console.log("2个参数以上");
            }
        }
        fn2();
        fn2(1);
        fn2(1,2,"aaa")
    </script>
</body>
</html>